Meta description:
The character infuses their fists with Life energy. While this effect is active, their Punch action gains the Life action tag and deals additional Biologic damage.
-
Tags:
Action de vieDégâts biologiques -
Name:
aLifeWeapon
-
Displayed name:
Arme de vie
-
Description:
Vous faites couler l'énergie vitale dans tout ce qui vous sert à frapper, poings, griffes ou lames : chacun de vos coups porte une décharge qui ronge la chair.
-
Cast description:
| PA: vAP.string | TdR: vCD.strings | | :---: | :---: | | **Flux: vFluxOrCost.string ➞ vFluxCost.string** | **Portée: vRange.string** | Sur un test de **vTest.string** réussi **RM vMR.string** [1d20]: Pendant vDuration.string, vos armes, naturelles ou non, sont chargées d'énergie vitale : leurs actions gagnent le tag **Action de vie** et infligent vDamage.string dégâts biologiques supplémentaires.
-
Condition:
assert(character.sFlux.current >= vFluxCost.value, [[Vous n'avez pas assez de Flux.]]) -
AP cost:
2
-
Cooldown:
5
-
Flux cost:
apMod(vAP)*cdMod(vCD)*targetMod(1,0)*puncMod(vDuration,4)*selfMod*effect(vDamage*40,60) -
Variables:
vDuration = NumberVariable([[vDuration]], [[Durée]], [[5]], [[60]], [[5]]) vDuration.valueDisplay.value = [[ self .. " s" ]] vDamage = NumberVariable([[vDamage]], [[Dés de dégâts]], [[1]], [[10]], [[1]]) vDamage.valueDisplay.value = [[ self .. "d4" ]] vRange = ListVariable([[vRange]], [[Portée]], {[[selfMod]]}, {[[Soi]]}) vTest = ListVariable([[vTest]], [[Test]], {[[character.sVigor]]}, {[[Vigueur]]}) vMR = StatVariable([[vMR]], [[vTest]]) -
On used script:
character.sFlux:changeCurrent(-vFluxCost.value) -
On post script:
if (success) then action.currentCD.value = vCD.value end -
Type:
1
-
Action effects:
-
Use case:
1
-
Name:
Arme de vie
-
Description:
-
Script:
if character:has([[mLifeWeapon]]) then character.mLifeWeapon:delete() end effect = character:createEffect([[mLifeWeapon]]) effect.displayName:set([[Arme de vie]]) effect.description:set([[Vos armes, naturelles ou non, sont chargées d'énergie vitale : leurs actions deviennent des actions de vie et infligent {{vDamage.string}} dégâts biologiques supplémentaires.]]) effect.duration:set({{vDuration.value}}) effect.script:set([=[lifeWeaponText = [[<br/><br/>**Arme de vie :** inflige {{vDamage.string}} dégâts biologiques supplémentaires.]] lifeWeaponUndo = "" function lifeWeaponApply(act, path) if not act:tagsContain([[lifeAction]]) then act:addTag([[lifeAction]], [[Action de vie]]) lifeWeaponUndo = lifeWeaponUndo .. "pcall(function() " .. path .. ":removeTag('lifeAction') end)\n" end act.castDescription:_add(lifeWeaponText) lifeWeaponUndo = lifeWeaponUndo .. "pcall(function() " .. path .. ".castDescription:_replace('" .. lifeWeaponText .. "', '') end)\n" end for _, act in pairs(character.actions) do if act.item == nil and act:tagsContain([[naturalWeapon]]) then lifeWeaponApply(act, "character." .. act.name) end end for key, value in pairs(character) do if type(key) == "string" and string.sub(key, 1, 1) == "i" and type(value) == "table" and value.actions ~= nil then for _, act in pairs(value.actions) do if act:tagsContain([[weapon]]) or act:tagsContain([[naturalWeapon]]) then lifeWeaponApply(act, "character." .. key .. "." .. act.name) end end end end modifier.undoScript:_set(lifeWeaponUndo)]=]) effect:activate() -
Variables:
-